View Javadoc

1   package net.sourceforge.simplegamenet.connectaline;
2   
3   import java.awt.*;
4   import net.sourceforge.simplegamenet.specs.gui.GameSettingsPanel;
5   import net.sourceforge.simplegamenet.specs.to.GameSettings;
6   import net.sourceforge.simplegamenet.specs.to.PlayerSettings;
7   import net.sourceforge.simplegamenet.specs.tools.ColoredPlayerSettings;
8   
9   
10  public class CALSettings extends GameSettings implements CALPlayStyle {
11  
12      public static final Color[] PLAYER_COLORS = {
13          new Color(0xFE, 0x40, 0x42),
14          new Color(0xFF, 0xFE, 0x49),
15          new Color(0x40, 0xFF, 0x00),
16          new Color(0xFF, 0x00, 0xFF),
17          new Color(0x41, 0xFF, 0xFF),
18          new Color(0x40, 0x40, 0x40),
19          new Color(0xFF, 0xB1, 0x66),
20          new Color(0xB2, 0xB2, 0xB2)
21      };
22  
23  //    private int[] settingValues = {2, 8, 4, 7, 6, 1};
24      private int maxNumberOfPlayer = 2;
25      private int maxNumberOfcon = 8;
26      private int lengthOfALine = 4;
27      private int numberOfColumns = 7;
28      private int numberOfRows = 6;
29      private int playStyle = 1;
30  
31      public CALSettings() {
32      }
33  
34      public CALSettings(int maxNumberOfPlayer, int maxNumberOfcon, int lengthOfALine,
35                         int numberOfColumns, int numberOfRows, int playStyle) {
36          this.maxNumberOfPlayer = maxNumberOfPlayer;
37          this.maxNumberOfcon = maxNumberOfcon;
38          this.lengthOfALine = lengthOfALine;
39          this.numberOfColumns = numberOfColumns;
40          this.numberOfRows = numberOfRows;
41          this.playStyle = playStyle;
42      }
43  
44      public GameSettingsPanel createGameSettingsPanel() {
45          return new CALSettingsPanel(maxNumberOfPlayer, maxNumberOfcon, lengthOfALine,
46                  numberOfColumns, numberOfRows, playStyle);
47      }
48  
49      public GameSettings createChangedGameSettings(GameSettingsPanel gameSettingsPanel) {
50          CALSettingsPanel cALSettingsPanel = (CALSettingsPanel) gameSettingsPanel;
51          return new CALSettings(cALSettingsPanel.getMaxNumberOfPlayer(),
52                  cALSettingsPanel.getMaxNumberOfcon(), cALSettingsPanel.getLengthOfALine(),
53                  cALSettingsPanel.getNumberOfColumns(), cALSettingsPanel.getNumberOfRows(),
54                  cALSettingsPanel.getPlayStyle());
55      }
56  
57      public boolean isCreateDefaultPlayerSettingsAllowed(int playerType) {
58          if (engine.getPlayerSettingsMap().getConnectionsAmount() >= maxNumberOfcon) {
59              return false;
60          }
61          return true;
62      }
63  
64      public PlayerSettings createDefaultPlayerSettings(Integer playerID, int playerType,
65                                                        String nickname) {
66          int playingState = engine.isGamePlaying() ? PlayerSettings.OBSERVING
67                  : PlayerSettings.PARTICIPATING;
68          if (engine.getPlayerSettingsMap().getParticipantsAmount() >= maxNumberOfPlayer) {
69              playingState = PlayerSettings.OBSERVING;
70          }
71          return new ColoredPlayerSettings(engine, playerID, playerType, nickname,
72                  playingState, PLAYER_COLORS);
73      }
74  
75      public boolean isChangePlayerSettingsAllowed(PlayerSettings currentPlayerSettings,
76                                                   PlayerSettings changedPlayerSettings) {
77          if (currentPlayerSettings.getPlayingState() == PlayerSettings.OBSERVING
78                  && changedPlayerSettings.getPlayingState() == PlayerSettings.PARTICIPATING
79                  && engine.getPlayerSettingsMap().getParticipantsAmount()
80                  >= maxNumberOfPlayer) {
81              return false;
82          } else {
83              return true;
84          }
85      }
86  
87      public boolean isStartGameAllowed() {
88          if (engine.getPlayerSettingsMap().getParticipantsAmount() >= 2) {
89              return true;
90          } else {
91              return false;
92          }
93      }
94  
95      public int getMaxNumberOfPlayer() {
96          return maxNumberOfPlayer;
97      }
98  
99      public void setMaxNumberOfPlayer(int maxNumberOfPlayer) {
100         this.maxNumberOfPlayer = maxNumberOfPlayer;
101     }
102 
103     public int getMaxNumberOfcon() {
104         return maxNumberOfcon;
105     }
106 
107     public void setMaxNumberOfcon(int maxNumberOfcon) {
108         this.maxNumberOfcon = maxNumberOfcon;
109     }
110 
111     public int getLengthOfALine() {
112         return lengthOfALine;
113     }
114 
115     public void setLengthOfALine(int lengthOfALine) {
116         this.lengthOfALine = lengthOfALine;
117     }
118 
119     public int getNumberOfColumns() {
120         return numberOfColumns;
121     }
122 
123     public void setNumberOfColumns(int numberOfColumns) {
124         this.numberOfColumns = numberOfColumns;
125     }
126 
127     public int getNumberOfRows() {
128         return numberOfRows;
129     }
130 
131     public void setNumberOfRows(int numberOfRows) {
132         this.numberOfRows = numberOfRows;
133     }
134 
135     public int getPlayStyle() {
136         return playStyle;
137     }
138 
139     public void setPlayStyle(int playStyle) {
140         this.playStyle = playStyle;
141     }
142 
143 }